This invention relates generally to controlling network computers and, more particularly, to executing commands on multiple computers of a network by propagating the commands through the network using a replication scheme.
Maintaining multiple computers of a network has always been a cumbersome task for network administrators. It often requires an administrator to enter the same command or set of commands at each of the computers. The administrator can accomplish this manually, or he or she can do it remotely by establishing simultaneous communication links to each of the computers and transmitting the commands to all of them. The first method, however, is very time consuming especially when the number of computers is large. For example, some networks include may include hundreds or thousands of computers.
The second method is cumbersome and prone to errors. For example, if one or more of the computers is down or inaccessible, then the administrator will be forced to try again at a later time. Each attempt involves running a script over the network, and this can consume a considerable amount of bandwidth. If, on the other hand, the administrator forgets to retry, then inconsistencies between the computers that have executed the command and those that have not will result. Thus, it can be seen that there is a need for an improved method for executing commands on multiple computers of a network.
In accordance with the foregoing, a method for executing commands on multiple computers of a network is provided. In accordance with the invention, a command may be entered at one computer, replicated, and sent to other computers of the network. Each computer receiving the replicated command may also repeat the replication process and send the command to still other computers. The command may be stored and replicated in conjunction with the replication of entries or records of a database. When one computer updates another computer as to the changes made to its individual copies of the database, it transmits a replication message to the other computer. When the other computer receives the replication message, it may store the command in a record of its copy of the database and, if appropriate, execute it. A record type field may be used to distinguish command records from other types of database records. An execution task may periodically search a computer""s copy of the database for command records whose execution times are current and, if such records are found, execute the commands contained therein on the computer.